######################################################################
# 
#
#                           Compiladors I 
#             
#			 Jordi Castell� Roca
#
#                            Makefile
#            
#		            Curs 06/07
#  
######################################################################

# General defines
CC = gcc
LEX = flex
YACC = bison
LIB = -lc  -lfl 
ELEX = scanner.l
EYACC = parser.y
OBJ = c3a_sequence.o bo_activacio.o analitzador.o parser.o scanner.o 
SRC = analitzador.c 
SRCL = scanner.c
SRCY = parser.c
SRCAB = bo_activacio.c
SRCC3A = c3a_sequence.c
SRCLL = Llista_id.c 
SYMTAB = symtab.c
BIN = analitzador
LFLAGS = -n -o $*.c 
YFLAGS = -d -v -o $*.c
CFLAGS = -ansi -Wall -g
OTHERS = parser.h parser.output

######################################################################

all : $(SRCL) $(SRCY)
	$(CC) -o $(BIN) $(CFLAGS) $(SRCL) $(SRCLL) $(SRCC3A) $(SRCAB) $(SYMTAB) $(SRCY) $(SRC)  $(LIB)

$(SRCL) : $(ELEX)	
	$(LEX) $(LFLAGS) $<



$(SRCY) : $(EYACC)
	$(YACC) $(YFLAGS) $<

clean : 
	rm -f *~ $(BIN) $(OBJ) $(SRCL) $(SRCY) $(OTHERS)

